qx.Class.define("mutual.maestros", {
	statics : {
		getABMLocalidades : function () {
			var json = {
				masterTable : "localidad",
				rpcDataGrid : "getLocalidades",
				key : "id_localidad",
				tableWidth: 600,
				tableHeight: 300,
				id_localidad : {
					tableView : {label :"id_localidad", visible:false, width:60}
				},				
				id_departamento : {
					tableView : {label :"Departamento", width:250 },
					object : new mutual.ow.ComboBox("Departamento:"),
					values : {
						rpc : "getDepartamentos"
					}
				},
				nombre : {
					tableView : {label : "Localidad", width: 250 },
					object : new mutual.ow.TextField("Localidad:")
				},
				cp : {
					tableView : {label : "CP", width: 80 },
					object : new mutual.ow.TextField("CP:")
				}
			};
			var ABMLocalidades = new mutual.ow.ABM(json, "mutual.model.ABMLocalidades", "ABM de Localidades", true);
			var btnABMDepartamentos = new qx.ui.form.Button("", "mutual/newPlan.png").set({width:10});
			btnABMDepartamentos.addListener("execute", function () {
				var win = new qx.ui.window.Window("ABM de Departamentos");
				win.set({showMaximize:false, allowMaximize:false, showMinimize:false, showClose:true, modal:true, movable:false, resizable:false, showStatusbar:false});
				win.setLayout(new qx.ui.layout.VBox(2));
				win.add(mutual.maestros.getABMDepartamentos());
				win.addListener("close", function () {
					ABMLocalidades._w['id_departamento'].getCombo().removeAll();
					ABMLocalidades._constructValues();
				}, this);
				win.open();
				win.center();
			}, this);
			ABMLocalidades._w["id_departamento"].add(btnABMDepartamentos);
			return ABMLocalidades;
		},
		
		getABMDepartamentos : function () {
			var json = {
				masterTable : "departamento",
				rpcDataGrid : "getDepartamentos",
				key : "id_departamento",
				tableWidth: 600,
				tableHeight: 300,
				id_departamento : {
					tableView : {label :"id_departamento", visible:false, width:60}
				},				
				id_provincia : {
					tableView : {label :"Provincia", width:250 },
					object : new mutual.ow.ComboBox("Provincia:"),
					values : {
						rpc : "getProvincias"
					}
				},
				nombre : {
					tableView : {label : "Departamento", width: 250 },
					object : new mutual.ow.TextField("Departamento:")
				}
			};
			var ABMDepartamentos = new mutual.ow.ABM(json, "mutual.model.ABMDepartamentos", "ABM de Departamentos", true);
			var btnABMProvincias = new qx.ui.form.Button("", "mutual/newPlan.png").set({width:10});
			btnABMProvincias.addListener("execute", function () {
				var win = new qx.ui.window.Window("ABM de Provincias");
				win.set({showMaximize:false, allowMaximize:false, showMinimize:false, showClose:true, modal:true, movable:false, resizable:false, showStatusbar:false});
				win.setLayout(new qx.ui.layout.VBox(2));
				win.add(mutual.maestros.getABMProvincias());
				win.addListener("close", function () {
					ABMDepartamentos._w['id_provincia'].getCombo().removeAll();
					ABMDepartamentos._constructValues();
				}, this);
				win.open();
				win.center();
			}, this);
			ABMDepartamentos._w["id_provincia"].add(btnABMProvincias);
			return ABMDepartamentos;
		},
		
		getABMProvincias : function () {
			var json = {
				masterTable : "provincia",
				rpcDataGrid : "getProvincias",
				key : "id_provincia",
				tableWidth: 600,
				tableHeight: 300,
				id_provincia : {
					tableView : {label :"id_provincia", visible:false, width:60}
				},				
				nombre : {
					tableView : {label : "Provincia", width: 570 },
					object : new mutual.ow.TextField("Provincia:")
				}
			};
			var ABMProvincias = new mutual.ow.ABM(json, "mutual.model.ABMProvincias", "ABM de Provincias", true);
			return ABMProvincias;
		}
	}
});